package jp.ddo.trismegistos.framework.util;

import javax.servlet.http.HttpServletRequest;

/**
 * リクエストURLを操作するUtilクラス。
 * 
 * @author y_sugasawa
 * @since 2011/12/31
 * @author $Author: aigis.developer@gmail.com $
 * @version $Rev: 46 $ $Date: 2012-01-14 07:14:37 +0000 (Sat, 14 Jan 2012) $
 */
public final class RequestUtil {

	/**
	 * コンストラクタ。
	 */
	private RequestUtil() {
	}

	/**
	 * リクエストからパスを取得する。
	 * 
	 * @param request
	 * @return
	 * @throws NullPointerException
	 */
	public static String getPath(final HttpServletRequest request)
			throws NullPointerException {
		if (request == null) {
			throw new NullPointerException("request parameter is null.");
		}

		return request.getServletPath();
	}

	/**
	 * 拡張子を取得する。
	 * 
	 * @param path
	 * @return
	 * @throws NullPointerException
	 */
	public static String getExtension(final String path)
			throws NullPointerException {
		if (path == null) {
			throw new NullPointerException("path parameter is null.");
		}

		final int dotIndex = path.lastIndexOf(".");
		if (dotIndex < 0) {
			return null;
		}

		final int sIndex = path.lastIndexOf("/");
		if (sIndex < 0 || dotIndex > sIndex) {
			return path.substring(dotIndex + 1);
		}

		return null;
	}
}
